Lịch sử Assertion (phát triển phần mềm)

Trong báo cáo năm 1947 của von NeumannGoldstine về thiết kế của họ cho máy IAS, họ đã mô tả các thuật toán bằng cách sử dụng phiên bản sơ kỳ của lưu đồ, trong đó bao gồm khẳng định là: "Có lẽ đúng là mỗi khi C thực sự chạy đến một điểm nhất định trong biểu đồ lưu trình, một hoặc nhiều biến số ràng buộc với nhau sẽ tất yếu mang các giá trị cụ thể nhất định, hoặc mang các tính chất nhất định, hoặc thỏa mãn các tính chất nhất định với nhau. Thêm nữa, tại những điểm như vậy, chúng ta có thể chỉ ra tính hợp lệ của những sự hạn định này. Bởi lý do này, chúng ta sẽ biểu thị mỗi khu vực, mà trong đó tính hợp lệ của những sự hạn định như vậy được xác quyết, bằng một chiếc hộp đặc biệt, mà chúng ta gọi nó là chiếc hộp xác quyết."[lower-alpha 9][7]

Alan Turing đã chủ trương dùng phương pháp assertion để chứng minh tính đúng đắn của chương trình. Trong buổi nói chuyện "Checking a Large Routine" tại Cambridge, ngày 24 tháng 6 năm 1949, Turing đề xuất: "Ta kiểm tra routine lớn theo ý là đảm bảo nó đúng bằng cách nào đây? Nhằm để người kiểm tra không phải bị tác vụ quá khó khăn, lập trình viên nên tạo một số lượng các xác quyết có tính minh xác mà có thể được kiểm tra riêng rẽ, và bằng cách đó tính đúng đắn của cả thảy chương trình dễ dàng đi theo".[lower-alpha 9][8]

Tài liệu tham khảo

WikiPedia: Assertion (phát triển phần mềm) http://www.jaggersoft.com/pubs/CVu11_3.html http://docs.oracle.com/javase/8/docs/technotes/gui... http://docs.oracle.com/javase/8/docs/technotes/gui... http://sunnyday.mit.edu/16.355/Hoare-CACM-69.pdf http://queue.acm.org/detail.cfm?id=2220317 http://dlang.org/version.html#StaticAssert http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arn... http://discovery.ucl.ac.uk/4991/1/4991.pdf https://library.ias.edu/files/pdfs/ecp/planningcod... https://web.archive.org/web/2021*/http://lambda-th...